public static void bubbleSort(int[] arr,int n) {
        // 外层循环控制排序轮次
        for (int i = 0; i < n - 1; i++) {
            // 优化标志：如果本轮没有发生交换，说明已经有序
            boolean swapped = false;
            
            // 内层循环执行元素比较和交换
            // 每轮结束后，最大的元素会被移动到末尾
            for (int j = 0; j < n - i - 1; j++) {
                if (arr[j] > arr[j + 1]) {
                    // 交换相邻元素
                    int temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                    swapped = true;
                }
            }
            
            // 如果没有发生交换，提前结束排序
            if (!swapped) break;
        }
    }
